#include <iostream>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

using namespace std;

// String to binary:
//
// int inet_aton(const char *cp, struct in_addr *inp);
// in_addr_t inet_addr(const char *cp);
// int inet_pton(int af, const char *src, void *dst);
//
// Binary to string:
//
// char *inet_ntoa(struct in_addr in);
// const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);

int main()
{
    struct sockaddr_in addr1;
    struct sockaddr_in addr2;
    addr1.sin_addr.s_addr = 0;
    addr2.sin_addr.s_addr = 0xffffffff;
    char *p1 = inet_ntoa(addr1.sin_addr);
    char *p2 = inet_ntoa(addr2.sin_addr);
    cout << p1 << " " << p2 << endl;
    return 0;
}
